package com.lxmes.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 程序文件管理对象 nc_program_file_management
 *
 * @author lx
 * @date 2023-06-01
 */
@ApiModel(value = "NcProgramFileManagement", description = "程序文件管理对象")
public class NcProgramFileManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 文件编号 */
    @Excel(name = "文件编号")
    @ApiModelProperty("文件编号")
    private String fileNumber;

    /** 文件名称 */
    @Excel(name = "文件名称")
    @ApiModelProperty("文件名称")
    private String fileName;

    /** 文件版本 */
    @Excel(name = "文件版本")
    @ApiModelProperty("文件版本")
    private String fileVersion;

    /** 描述 */
    @ApiModelProperty("描述")
    private String description;

    /** 开发人员 */
    @Excel(name = "开发人员")
    @ApiModelProperty("开发人员")
    private String developer;

    /** 开发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开发时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开发时间")
    private Date developmentTime;

    /** 对应目标编号 */
    @Excel(name = "对应目标编号")
    @ApiModelProperty("对应目标编号")
    private String goalNumber;

    /** 文件大小 */
    @Excel(name = "文件大小")
    @ApiModelProperty("文件大小")
    private String fileSize;

    /** 文件类型 */
    @Excel(name = "文件类型")
    @ApiModelProperty("文件类型")
    private String fileType;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发布时间")
    private Date releaseTime;

    /** 发布人 */
    @Excel(name = "发布人")
    @ApiModelProperty("发布人")
    private String releasePerson;

    /** 最近修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("最近修改时间")
    private Date lastModifiedTime;

    /** 最近修改人员 */
    @Excel(name = "最近修改人员")
    @ApiModelProperty("最近修改人员")
    private String lastModifiedPerson;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String status;

    /** 审核人员 */
    @Excel(name = "审核人员")
    @ApiModelProperty("审核人员")
    private String reviewer;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("审核时间")
    private Date reviewTime;

    /** 附件 */
    @Excel(name = "附件")
    @ApiModelProperty("附件")
    private String attachment;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setFileNumber(String fileNumber)
    {
        this.fileNumber = fileNumber;
    }

    public String getFileNumber()
    {
        return fileNumber;
    }
    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setFileVersion(String fileVersion)
    {
        this.fileVersion = fileVersion;
    }

    public String getFileVersion()
    {
        return fileVersion;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setDeveloper(String developer)
    {
        this.developer = developer;
    }

    public String getDeveloper()
    {
        return developer;
    }
    public void setDevelopmentTime(Date developmentTime)
    {
        this.developmentTime = developmentTime;
    }

    public Date getDevelopmentTime()
    {
        return developmentTime;
    }
    public void setGoalNumber(String goalNumber)
    {
        this.goalNumber = goalNumber;
    }

    public String getGoalNumber()
    {
        return goalNumber;
    }
    public void setFileSize(String fileSize)
    {
        this.fileSize = fileSize;
    }

    public String getFileSize()
    {
        return fileSize;
    }
    public void setFileType(String fileType)
    {
        this.fileType = fileType;
    }

    public String getFileType()
    {
        return fileType;
    }
    public void setReleaseTime(Date releaseTime)
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime()
    {
        return releaseTime;
    }
    public void setReleasePerson(String releasePerson)
    {
        this.releasePerson = releasePerson;
    }

    public String getReleasePerson()
    {
        return releasePerson;
    }
    public void setLastModifiedTime(Date lastModifiedTime)
    {
        this.lastModifiedTime = lastModifiedTime;
    }

    public Date getLastModifiedTime()
    {
        return lastModifiedTime;
    }
    public void setLastModifiedPerson(String lastModifiedPerson)
    {
        this.lastModifiedPerson = lastModifiedPerson;
    }

    public String getLastModifiedPerson()
    {
        return lastModifiedPerson;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setReviewer(String reviewer)
    {
        this.reviewer = reviewer;
    }

    public String getReviewer()
    {
        return reviewer;
    }
    public void setReviewTime(Date reviewTime)
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime()
    {
        return reviewTime;
    }
    public void setAttachment(String attachment)
    {
        this.attachment = attachment;
    }

    public String getAttachment()
    {
        return attachment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryName", getFactoryName())
            .append("factoryCode", getFactoryCode())
            .append("fileNumber", getFileNumber())
            .append("fileName", getFileName())
            .append("fileVersion", getFileVersion())
            .append("description", getDescription())
            .append("developer", getDeveloper())
            .append("developmentTime", getDevelopmentTime())
            .append("goalNumber", getGoalNumber())
            .append("fileSize", getFileSize())
            .append("fileType", getFileType())
            .append("releaseTime", getReleaseTime())
            .append("releasePerson", getReleasePerson())
            .append("lastModifiedTime", getLastModifiedTime())
            .append("lastModifiedPerson", getLastModifiedPerson())
            .append("status", getStatus())
            .append("reviewer", getReviewer())
            .append("reviewTime", getReviewTime())
            .append("attachment", getAttachment())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
